From 758fbf680d14d7d464163c762553aae415e5f852 Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild.aw" Date: Mon, 20 Nov 2006 12:14:40 -0700 Subject: [PATCH] [IA64] Fix for queueing the MCA error logs This patch fixes bugs of queueing the MCA error logs. It is necessary to queue the error log, when the MCA polling handler is called. And it is also needed to queue when cpe interrupt handler is called. Signed-off-by: Kazuhiro Suzuki --- xen/arch/ia64/linux-xen/mca.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/xen/arch/ia64/linux-xen/mca.c b/xen/arch/ia64/linux-xen/mca.c index 06b9b27efb..cf43c17cb8 100644 --- a/xen/arch/ia64/linux-xen/mca.c +++ b/xen/arch/ia64/linux-xen/mca.c @@ -496,9 +496,9 @@ ia64_mca_cpe_int_handler (int cpe_irq, void *arg, struct pt_regs *ptregs) /* Get the CPE error record and log it */ ia64_mca_log_sal_error_record(SAL_INFO_TYPE_CPE); #else + ia64_log_queue(SAL_INFO_TYPE_CPE, VIRQ_MCA_CPE); /* CPE error does not inform to dom0 but the following codes are reserved for future implementation */ -/* ia64_log_queue(SAL_INFO_TYPE_CPE, VIRQ_MCA_CPE); */ /* send_guest_vcpu_virq(dom0->vcpu[0], VIRQ_MCA_CPE); */ #endif @@ -1325,6 +1325,10 @@ ia64_mca_cmc_int_caller(int cmc_irq, void *arg, struct pt_regs *ptregs) #ifndef XEN ia64_mca_cmc_int_handler(cmc_irq, arg, ptregs); +#else + IA64_MCA_DEBUG("%s: received polling vector = %#x on CPU %d\n", + __FUNCTION__, cmc_irq, smp_processor_id()); + ia64_log_queue(SAL_INFO_TYPE_CMC, VIRQ_MCA_CMC); #endif for (++cpuid ; cpuid < NR_CPUS && !cpu_online(cpuid) ; cpuid++); @@ -1409,6 +1413,10 @@ ia64_mca_cpe_int_caller(int cpe_irq, void *arg, struct pt_regs *ptregs) #ifndef XEN ia64_mca_cpe_int_handler(cpe_irq, arg, ptregs); +#else + IA64_MCA_DEBUG("%s: received polling vector = %#x on CPU %d\n", + __FUNCTION__, cpe_irq, smp_processor_id()); + ia64_log_queue(SAL_INFO_TYPE_CPE, VIRQ_MCA_CPE); #endif for (++cpuid ; cpuid < NR_CPUS && !cpu_online(cpuid) ; cpuid++); -- 2.30.2